Parse.Cloud.define('editUserPassword', async (req, res) => {
  const user = req.user
  const { id, password } = req.params
  if (!user) {
    return res.error('请先登录')
  }
  if (!id) {
    return res.error('请提供需要修改的账号')
  }
  if (!password) {
    return res.error('请提供需要修改的密码')
  }
  let permission = { sessionToken: user.getSessionToken() }
  const isAdmin = await new Parse.Query(Parse.Role).equalTo('name', 'Admin').containedIn('users', [user]).count(permission)
  if (isAdmin) {
    permission = { useMasterKey: true }
  }
  try {
    const currentUser = await new Parse.Query(Parse.User).equalTo('objectId', id).first(permission)
    if (!currentUser) {
      return res.error('没有修改权限')
    }
    await currentUser.set('password', password).save(null, permission)
    res.success('ok')
  } catch (err) {
    console.log(err)
    res.error(err.message)
  }
})
